﻿''' <summary>
''' Service gérant les interactions entre les modules et l'interface utilisateur
''' </summary>
''' <remarks>
''' 
''' </remarks>
Public Interface IUIService
    Inherits IService

    ''' <summary>
    ''' Affiche une boite de dialogue
    ''' </summary>
    ''' <remarks>
    ''' 
    ''' </remarks>
    Sub ShowMessage(ByVal str As String, _
                    Optional ByVal WindowTitle As String = "OMANE", _
                    Optional ByVal Resizable As Boolean = True, _
                    Optional ByVal ShowCloseButton As Boolean = True, _
                    Optional ByVal Width As Double? = Nothing, _
                    Optional ByVal Height As Double? = Nothing)

    ''' <summary>
    ''' Affiche une boite de dialogue
    ''' </summary>
    ''' <remarks>
    ''' 
    ''' </remarks>
    Sub ShowMessage(ByVal msg As Object, _
                    Optional ByVal WindowTitle As String = "OMANE", _
                    Optional ByVal Resizable As Boolean = True, _
                    Optional ByVal ShowCloseButton As Boolean = True, _
                    Optional ByVal Width As Double? = Nothing, _
                    Optional ByVal Height As Double? = Nothing)

    ''' <summary>
    ''' Affiche la boite de dialogue sauvegarder-sous
    ''' </summary>
    ''' <remarks>
    ''' 
    ''' </remarks>
    Sub ShowSaveDialogBox()

    ''' <summary>
    ''' Affiche la boite de dialogue Enregistrer-sous
    ''' </summary>
    ''' <remarks>
    ''' 
    ''' </remarks>
    Sub ShowOpenDialogBox()

    ''' <summary>
    ''' Affiche une boite de dialoguebde selection de dossier
    ''' </summary>
    ''' <remarks>
    ''' 
    ''' </remarks>
    Sub ShowDirectoryDialogBox()

    ''' <summary>
    ''' View-Model du menu principal
    ''' </summary>
    ''' <remarks>
    ''' 
    ''' </remarks>
    ReadOnly Property ViewModelMainMenu As ViewModelMainMenu

    ''' <summary>
    ''' View-Model de la  barre d'état
    ''' </summary>
    ''' <remarks>
    ''' 
    ''' </remarks>
    ReadOnly Property StatusBar As ViewModelStatusBar

    ''' <summary>
    ''' View-Model du menu en bas à gauche avec des fonctionnalités de DataTemplate
    ''' 
    ''' </summary>
    ''' <remarks>
    ''' 
    ''' </remarks>
    ReadOnly Property V2ViewModelAccordeonMenu As V2ViewModelAccordeonMenu

    ''' <summary>
    ''' Ajoute un dictionnaire de ressource dans le contexte de l'application
    ''' 
    ''' </summary>
    ''' <remarks>
    ''' 
    ''' </remarks>
    Sub AddResourceDictionary(ByVal ResourceDictionary As Windows.ResourceDictionary)

End Interface

